package com.bbzn.device.client.service.emq;

import com.bbzn.device.client.dto.ct.request.RequestCreateGroup;
import com.bbzn.device.client.dto.ct.request.RequestDeleteGroup;
import com.bbzn.device.client.dto.ct.request.RequestUptDevGrp;
import com.bbzn.device.client.dto.ct.request.RequestUptDevGrpRelation;
import com.ctg.ag.sdk.biz.aep_device_group_management.CreateDeviceGroupResponse;
import com.ctg.ag.sdk.biz.aep_device_group_management.DeleteDeviceGroupResponse;
import com.ctg.ag.sdk.biz.aep_device_group_management.UpdateDeviceGroupRelationResponse;
import com.ctg.ag.sdk.biz.aep_device_group_management.UpdateDeviceGroupResponse;

/**
 * 设备分组
 * @Author wulongbo
 * @Date 2021/9/2 11:59
 * @Version 1.0
 */
public interface DeviceGroupService {

    /**
     * 新增分组(单产品)
     *
     * @param requestGroup
     * @return
     */
    CreateDeviceGroupResponse createDeviceGroup(String masterKey, RequestCreateGroup requestGroup) throws Exception;

    /**
     * 删除分组(单产品)
     *
     * @param requestDeleteGroup
     * @return
     */
    DeleteDeviceGroupResponse deviceGroup(String masterKey, RequestDeleteGroup requestDeleteGroup) throws Exception;

    /**
     * 编辑分组信息(单产品)
     *
     * @param requestUptDevGrp
     * @return
     */
    UpdateDeviceGroupResponse updateDeviceGroup(String masterKey, RequestUptDevGrp requestUptDevGrp) throws Exception;

    /**
     * 编辑分组与设备关联关系(单产品)
     *
     * @param requestUptDevGrpRelation
     * @return
     */
    UpdateDeviceGroupRelationResponse updateDeviceGroupRelation(String masterKey, RequestUptDevGrpRelation requestUptDevGrpRelation) throws Exception;
}
